<?php


// | ShuipFCMS 求职招聘模型

// | Copyright (c) 2012-2014 http://www.shuipfcms.com, All rights reserved.

// | Author: 水平凡 <admin@abc3210.com>


namespace Job\Model;

use Common\Model\Model;

class JobModel extends Model {

    //array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间])
    protected $_validate = array(
        array('zhiwei', 'require', '职位名称不能为空！'),
        array('enddate', 'require', '截止日期不能为空！'),
        array('renshu', 'require', '招聘人数不能为空！'),
        array('bumen', 'require', '招聘部门不能为空！'),
        array('diqu', 'require', '工作地区不能为空！'),
        array('content', 'require', '职位说明不能为空！'),
        array('lianxiren', 'require', '联系人不能为空！'),
        array('tel', 'require', '联系电话不能为空！'),
        array('email', 'require', '电子邮箱不能为空！'),
        array('email', 'email', '电子邮箱填写不正确不能为空！'),
        array('address', 'require', '联系地址不能为空！'),
        array('username', 'require', '职位发布人不能为空！'),
    );
    //array(填充字段,填充内容,[填充条件,附加规则])
    protected $_auto = array(
        array('listorder', '0'),
        array('inputtime', 'time', 1, 'function'),
        array('updatetime', 'time', 3, 'function'),
    );

    /**
     * 根据招聘ID取得对应的信息
     * @param type $jobId 职位ID
     * @return type
     */
    public function getInfo($jobId) {
        if (empty($jobId)) {
            return false;
        }
        $info = $this->where(array('jobid' => $jobId))->find();
        if (empty($info)) {
            return false;
        }
        return $info;
    }

    /**
     * 删除招聘职位
     * @param type $jobId 职位id
     * @return boolean
     */
    public function deleteJob($jobId) {
        if (empty($jobId)) {
            $this->error = '请选择需要删除的招聘职位！';
            return false;
        }
        if (is_array($jobId)) {
            $where = array(
                'jobid' => array('IN', $jobId),
            );
        } else {
            $where = array(
                'jobid' => $jobId,
            );
        }
        if ($this->where($where)->delete() != false) {
            return true;
        } else {
            $this->error = '删除失败！';
            return false;
        }
    }

    /**
     * 编辑招聘职位
     * @param type $data
     * @return boolean
     */
    public function editJob($data) {
        if (empty($data)) {
            $this->error = '数据不能为空！';
            return false;
        }
        //数据验证
        $data = $this->token(false)->create($data, 2);
        if (!$data) {
            return false;
        }
        //截止日期
        if (is_numeric($data['enddate']) == false) {
            $data['enddate'] = strtotime($data['enddate']);
        }
        //编辑
        $status = $this->save($data);
        if ($status !== false) {
            return true;
        } else {
            $this->error = '编辑失败！';
            return false;
        }
    }

    /**
     * 添加招聘职位
     * @param type $data 数据
     * @return boolean
     */
    public function addJob($data) {
        if (empty($data)) {
            $this->error = '数据不能为空！';
            return false;
        }
        //数据验证
        $data = $this->token(false)->create($data, 1);
        if (!$data) {
            return false;
        }
        //截止日期
        if (is_numeric($data['enddate']) == false) {
            $data['enddate'] = strtotime($data['enddate']);
        }
        //添加
        $jobId = $this->add($data);
        if ($jobId) {
            return $jobId;
        } else {
            $this->error = '添加失败！';
            return false;
        }
    }

}
